1. Field
Embodiments of the present invention relate to database systems, and more particularly to database replication.
2. Background Discussion
Data replication is the process of maintaining multiple copies of a database object in a distributed database system. Performance improvements can be achieved when data replication is employed, since multiple access locations exist for the access and modification of the replicated data. For example, if multiple copies of a data object are maintained, an application can access the logically “closest” copy of the data object to improve access times and minimize network traffic. In addition, data replication provides greater fault tolerance in the event of a server failure, since the multiple copies of the data object effectively become online backup copies if a failure occurs.
Data can be replicated or copied from a source (or primary) database to one or more replicate (or target) databases, so that both primary and replicate databases contain identical data.
Traditional database replication requires establishing distinct point-to-point connections between a primary database and each replicate database. Because a network has limited bandwidth, this limits the number of point-to-point connections, and therefore also limits the number of replicate databases that can be maintained within the network's bandwidth. Furthermore, when data in a primary database needs to be replicated to multiple replicate databases, network overhead and bandwidth use increases because the same primary database data needs to be transmitted separately to each replicate database over its respective point-to-point connection.